function validar() {
    function ponerError(elem, msj) {
        if(!errores) $(elem).focus()
        errores++
        $(elem).insert({ after: '<span class="error">' + msj + '</span>' })
    }

    $$('.error').invoke('remove')
    var errores=0
    var soloNumYChar = /^[\w\s\.!\?\¿\$\-]*$/

    if($F('txtContrasegnaActual').length==0) {
        ponerError('txtContrasegnaActual','Debe indicar la contraseña actual')
    } else if(!soloNumYChar.test($F('txtContrasegnaActual'))) {
        ponerError('txtContrasegnaActual','Solo debe ingresar letras y/o números')
    }

    if($F('txtContrasegnaNueva').length==0) {
        ponerError('txtContrasegnaNueva','Debe indicar la contraseña nueva')
    } else if(!soloNumYChar.test($F('txtContrasegnaNueva'))) {
        ponerError('txtContrasegnaNueva','Solo debe ingresar letras y/o números')
    }

    if($F('txtContrasegnaConfirmada').length==0) {
        ponerError('txtContrasegnaConfirmada','Debe repetir la contraseña nueva')
    } else if(!soloNumYChar.test($F('txtContrasegnaConfirmada'))) {
        ponerError('txtContrasegnaConfirmada','Solo debe ingresar letras y/o números')
    } else if ($F('txtContrasegnaNueva') != $F('txtContrasegnaConfirmada')) {
        ponerError('txtContrasegnaConfirmada','La nueva contraseña es distinta a la confirmada')
    }

    return(errores==0);
}


Event.observe(window, 'load',
    function(e) {
      $('txtContrasegnaActual').select()
    }
)